![]() Partial perceptual image hashing for invoice deconstruction.
专利摘要:
An apparatus and method is provided for identifying the supplier in an invoice (101) by dividing the invoice into three regions (102-104) and performing perceptual image hash on each section. Then, a Hamming distance is used to compare the hash value of each section with the known invoice hash values to identify the vendor who sent the invoice. 公开号:CH716698A2 申请号:CH00326/20 申请日:2020-03-19 公开日:2021-04-15 发明作者:Ransom Mitchell;O'hara Shane 申请人:Bottomline Tech Limited; IPC主号:
专利说明:
Technical area The present disclosure generally relates to the deconstruction of electronic documents and more particularly the use of perceptual image hash for the deconstruction of electronic documents. Description of the related art In today's electronics world, there are still a number of documents that are transmitted on paper or through bitmap images. Especially in an accounting department where thousands of images of receipts or invoices can be received each month. Each receipt or invoice is in a company-specific format, with unique locations for specific information. Specific information is required for uploading to an accounts payable software system. Ideally, the invoice can be sent as an XML file with the fields filled in by the accounts receivable software. But this rarely happens; instead, invoices often arrive in paper form. Automation improves processes and reduces costs by eliminating data entry, purchase order matching, paper management and routing, and physical storage of required documents in a manual or semi-automated environment . The technology automatically extracts and validates invoice data, matches invoices with purchase orders and delivery receipts, and saves approved invoices directly into a 606 ERP platform. All invoices that require review, approval or an exception resolution is transmitted electronically to specific people based on preconfigured rules. Dashboards automatically alert managers to bottlenecks and users of invoices approaching their due date. The technology also tracks key productivity metrics. Additionally, accounts payable no longer need to pay fees across multiple banking systems to pay vendors. [0004] Compared to the manual processing of paper invoices, automation generally makes it possible to achieve cost savings of between 60% and 80%, according to the Billentis 2016 E-Billing / E-Invoicing report. A major driver of these cost savings is the fact that highly automated accounts payable organizations can process approximately 17 times more invoices per year per employee than their counterparts that rely on manual invoicing processes, according to the study by IOFM AP 2017 reference. In fact, a third of invoicing sub-processes - and their associated costs - can be eliminated by automation without losing anything essential, according to the Billentis 2016 E-Billing / E-Invoicing report. For example, electronic invoices virtually eliminate the costs associated with receiving invoices, capturing invoice data, and coding general ledger information. Validating billing data and matching invoices to purchase orders and / or proof of delivery documents cost more than two-thirds less in an automated environment compared to a manual environment, handling billing disputes costs $ 20 % less, managing payments and cash flow costs less than half, and archiving invoices and related documents costs almost two-thirds less, according to the Billentis report. [0005] Invoice automation also allows for indirect savings such as reduced paper and postage costs, fewer supplier inquiries and less redundancies and inaccuracies in the main database of invoices. suppliers 605. In an automated environment, billing data can be validated in real or near real time. Exceptions can be resolved in a structured, digital way that combines configurable business rules for routing exceptions, online collaboration between internal stakeholders and vendors, and annotations. [0007] Based on the IOFM and AIIM criteria for invoice processing costs, an accounts payable service that processes 5,000 invoices per month is expected to save $ 55,650 per month (8,850 per month versus $ 64,500 per month) and $ 667,800 per year thanks to the automation of accounts payable. An even greater return on investment is possible when you factor in the discounts obtained on electronic payments. [0008] But even in a fully automated environment, the analysis time for each invoice can be long. Simple vendor identification can involve a lot of calculations, with vendors using logos or fancy fonts in their headers or footers. Simple optical character recognition does not work well with logos and fancy fonts. A better and faster system is needed to automate invoices and receipts. The present inventions solve this problem with an improved, faster and more reliable invoice processing solution. ABSTRACT An apparatus for identifying a supplier associated with an invoice is described here. The apparatus consists of a special-purpose processor with a plurality of cores, a memory electrically connected to the special-purpose processor, and a mass storage device containing a database of known vendors, the memory device. mass storage device being electrically connected to the special purpose processor. An image of the invoice stored in memory is divided into a plurality of regions by the special purpose processor. An image perceptual hash value is calculated by the special-purpose processor for each of the plurality of regions of the invoice, and a Hamming distance is calculated between the image perceptual hash value of each of the plurality of regions and for each entry in the database of known providers for each of the plurality of regions. The supplier associated with the smallest Hamming distance is identified as the supplier associated with the invoice. [0010] The perceptual image hash value can be calculated with an averaging algorithm, a difference algorithm or a pHash algorithm. The bill can be reduced to an eight-by-eight pixel grid before calculating the image perceptual hash value. The invoice can be reduced to grayscale before calculating the image perceptual hash value. The plurality of regions can be made up of three regions. The smallest Hamming distance can be compared to a threshold and the provider associated with the smallest Hamming distance can be added to the database of known providers if the smallest Hamming distance is greater than the threshold. The identified supplier can be the new added supplier. A method for identifying a supplier associated with an invoice is described here. The method comprises the steps of (1) dividing an image of the invoice stored in a memory into a plurality of regions by a special-purpose processor with a plurality of cores, the memory being electrically connected to the special-purpose processor, ( 2) calculating an image perceptual hash value by the special-purpose processor for each of the plurality of regions, (3) calculating a Hamming distance between the image perceptual hash value of each of the plurality of regions and for each entry in a database of known suppliers for each of the plurality of regions, and (4) identifying the supplier associated with the smallest Hamming distance as the supplier associated with the invoice . The mass storage device contains the database of known vendors, the mass storage device being electrically connected to the special purpose processor BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are not necessarily to scale, show various aspects of inventions in which like reference numerals are used to indicate identical or similar parts in different views. FIGURE 1 is an example of an invoice divided into three sections. FIGURE 2 is a list of the contents of the invoice of FIGURE 1 deconstructed and loaded into an accounts payable software package. FIGURE 3 is a high level flowchart of invoice image deconstruction. FIGURE 4 is a detailed flowchart of the perceptual image hash algorithm. FIGURE 5 is a flowchart of the data extraction process. FIGURE 6 is a diagram of the equipment for one embodiment. DETAILED DESCRIPTION [0019] The present disclosure is now described in detail with reference to the drawings. In the drawings, each item with a reference number is similar to other items with the same reference number, regardless of any letter designation following the reference number. In the text, a reference number with a specific letter designation following the reference number refers to the specific item with the number and letter designation, and a reference number without a specific letter designation refers to all elements with the same reference number, regardless of any letter designation following the reference number on the drawings. [0020] Figures 1 and 2 show an invoice 101 and the results of its deconstruction and insertion of the data into an accounts payable software system screen 201. An in-depth view of the two figures shows that the same data on the physical invoice image 101 are displayed on software 201. The general process of deconstructing a document such as a receipt or invoice is to first obtain an electronic copy of the document, either by scanning a hard copy, or by receiving an email, or by downloading a copy. electronic. Typically, this electronic image is then converted to a PDF (Portable Document Format) file. Then, optical character recognition (OCR) is performed on the document, if the text cannot be directly extracted from the PDF data and the provider is identified, but the order of these tasks can be reversed. Then the vendor information is used to aid in the extraction of the various header fields of the document, followed by the row extraction to capture the table information on each detail line of the invoice, and the data. extracted are loaded into the invoice processing software. Although we describe an invoice in this document, these techniques can be used for other types of structured documents such as receipts, patent documents, checks, drug prescriptions, medical records, official forms, etc. . Supplier identification Supplier information can be determined based on the information in an email, PDF metadata fingerprints, intelligent data matching, or perceptual image hash. The first task of deconstructing an invoice is the identification of the supplier. There are a number of techniques that can be used to quickly determine which vendor sent the invoice. Some invoices are emailed directly from the vendor to the capture portal, then we can use a combination of “from” address and “to” address to match with a specific vendor. Likewise, a FAX document may include the header or the telephone number allowing the search. However, few invoices are sent by fax and the sending of invoices by e-mail is far from widespread. Intelligent data matching [0024] In another embodiment, the algorithm scans the enterprise resource planning ("ERP") data in the database 606 to search the PDF text, after optical character recognition is complete, for exact matches on address data, phone numbers, email addresses, etc. This is quite inefficient, as up to 40,000 database records can be loaded and the text searched throughout the entire PDF document up to 100,000 times in cases where no vendor was found. PDF metadata fingerprint [0025] Extracting metadata from a PDF such as author, producer, creator, title and subject and combining these to find a unique match with a specific vendor. This metadata is readily available in some PDF files and can be quickly extracted and used to find the correct vendor record in the 606 ERP system. But metadata is not available for scanned documents or documents in bitmap format. They are only available if the provider itself has created the PDF document, correctly defined the metadata of the PDF document, and has not cleaned up the metadata of the PDF document before sending. Perceptual image hash (vendor resolution) Perceptual image hashing is a technique that provides an efficient method for identifying vendors in a wide variety of document formats. Looking at figure 1, the invoice is divided into three sections, one for the 15-20% of the upper part102, another section for the central part of the invoice103 and a third section for the 15-20% of the lower part104. Although this embodiment uses three sections, any number of sections can be used in other embodiments. The current embodiment uses 15-20% of the invoice for the top and bottom sections; these sections can be of any size without harming the inventions described here. The general idea is to capture the header 102 and footer 104 of the invoice 101, the areas of the invoice that may have identifying marks that can be used to identify the supplier. [0027] For raster PDFs (usually a physical document scanned in PDF format) convert the PDF to PNG file, take the 15-20% of the top of the page (header) 302 and the 10-15% of the lower part of the page (footer) 302 and generate an image303 perceptual hash value of the two combined images, use that hash value to then compare the similarity to historical hash values of other documents304. Due to the similar nature of all invoices, in one embodiment there should be a very high similarity score (90% +) to consider a match and there should also be no other matches in the 10% +, for example if the first result is 92% and the second result is 87% and both point to different vendors, we would not consider that to be a match. [0028] For unframed PDFs, extract all the images and hash them, compare the hash values to the historical hash values looking for matches, as we cannot identify the actual logo image on the PDF, special attention is needed for images which may be common to all suppliers, i.e. industrial program logos or suppliers belonging to the same parent company, etc., in these cases we ignore any research hash value that returns multiple vendors and only find matches that return a single vendor, we can search for the hash values of 5 images found on the PDF and only find a single vendor match for 1 image, this is not not a problem. See also US Patent 10,282,129, "Tenant aware, variable length deduplication of stored data" by Andy Dobbels and Zenon Buratta for further information on the handling of unframed PDFs, said patent being incorporated by reference herein. Looking at lafigure 3, the deconstruction process begins with the receipt of the image of the invoice101. First, optical character recognition306 is performed on the image if necessary310. The image is then converted to a PNG file and divided into three parts302,102,103,104, the upper part and the lower part representing 15 to 20% of the document, and the central part comprising 60 to 70% of the document. This is to isolate the header and footer based on the idea that the header and footer contain logos or text that identifies the provider. A perceptual hash value of image303 is then calculated for each of the three sections102,103,104. Next, a match is searched for in a database of known providers, comparing the hash value of the upper section to the hash values of other upper sections, similarly comparing the middle and lower sections. In order for this search to deal with imperfections, a Hamming distance calculation is performed on each comparison and the closest matches are identified.BestMatch function (TopPiHash, MiddlePiHash, BottomPiHash)For (i = 0; i <CountOfRecords; i ++){HdTop = HammingDistance (TopPiHash, PiRecords [i] [TOP];HdMiddle = HammingDistance (TopPiHash, PiRecords [i] [MIDDLE];HdBottom = HammingDistance (TopPiHash, PiRecords [i] [BOTTOM];If (HDTop> BestHDTop){BestHDTop = HDTop;BestTop = 1;}If (HDMiddle> BestHDMiddle){BestHDMiddle = HDMiddle;BestMiddle = 1;}If (HDBottom> BestHDBottom){BestHDBottom = HDBottom;BestBottom = 1;}}Return BestTop, BestMiddle, BestBottom; In lafigure 3, the next step consists in comparing the results of the search with a threshold305. Typically, this is a comparison of the matches of the top and bottom sections to see if the Hamming distance of the match is less than a threshold for the sum of the top and bottom sections. In addition, the focus is on the location where the identity of the supplier is most likely. But the algorithm also checks the combination of the top and middle or bottom and middle sections to see if this invoice has put any information in an unusual location. If the sum of the two best Hamming distances is greater than the threshold, then the invoice 101 does not match the database 605 of known suppliers, then the supplier on the invoice must be added to the database 605 of known suppliers. This process begins to extract the relevant data307 from the invoice. See Figure 5 for more details on data extraction. In addition to data mining, metadata is also collected regarding where the data was found. For example, the invoice date is about 15% down on the right side of the invoice in Figure 1, and the invoice number is directly below it, the PO number is below the number. of the invoice and the due date is below the purchase order number. This metadata about the location of certain fields is stored with the image and hash values308 in the database605 of known vendors. The data is extracted from the invoice based on the information contained in the metadata311and returned312. Once returned312, the data is likely to be sent to the ERP software. If the sum of the two best Hamming distances is less than or equal to the threshold, then the invoice 101 corresponds to a supplier in the database 605 of known suppliers. The algorithm then knows where to look for the different fields, based on the metadata in the database605 of known suppliers. The header data is extracted from the invoice based on the information contained in the metadata311and returned312. Once returned312, the data is likely to be sent to the ERP software. Perceptual hashes, as shown in Figure 4, are a completely different concept compared to the usual cryptographic hashing methods such as MD5 or SHA. With cryptographic hashes, a one-way summary is generated based on the input data. And due to its avalanche effect, the resulting hash value is completely different when you change a single bit:md5 („10100110001“) = 50144bd388adcd869bc921349a287690md5 („10100110101“) = 3e3049bled21ede0237f9a276ec80703 This is the reason why the only way for two images to have the same cryptographic hash value is that they are exactly the same. Cryptographic hashing is therefore not a possible solution to solve this problem. In contrast, a perceptual hash is a fingerprint based on the image input that can be used to compare images by calculating the Hamming distance (i.e. essentially counting the number of bits different individual). A Hamming distance between two 64-bit values can be calculated as follows:int hamming_distance (unsigned long64 x, unsigned long64 y){int dist = 0;for (unsigned long64 val = x ^ y; val> 0; val / = 2){if (val & 1)dist ++;}// Return the number of differing bitsreturn dist;} [0038] There are different perceptual image hashing algorithms, but they all use similar steps to generate the media fingerprint. The easiest to explain is the medium hash (also called aHash). This function starts401 with the reception of an image to be hashed, and corresponds to the perceptual image hash303. First, the size of the image is reduced402 to 8x8 pixels (other embodiments may use other dimensions). This is the fastest way to remove high frequencies and detail. This step ignores the original size and aspect ratio and will still be resized to 8x8 so that we have 64 resulting pixels. Resizing can reduce the size by dividing the image into 64 sections (8x8) and averaging the pixel values in each of the 64 sections. Now that we have 64 pixels, each with its RGB value, reduce the color by converting the image to grayscale403. This will give us 64 grayscale values. Next, the average color 404 is calculated by calculating the average of the values of 64 pixels. Then, the hash value is calculated. The hash value calculation begins with initializing the hash value 405 to zero. Next, the hash value is calculated depending on whether a pixel is brighter or darker than the average gray level value we just calculated406. Do this for every 407 pixel, and you end up with a 64-bit hash value. The aHash406 function can use the x86 AES processor instruction, or use the following algorithm:Hash128 = Long128 (Hash XOR (pixel [x] - AverageColor)) * PRIME_CONSTANT;Hash = (Hash128 >> 64) + (Hash128 AND OxFFFFFFFF); In other words, the new data is subjected to the exclusive OR function with the current hash and the resulting value is converted to a 128-bit number (with the top 64-bit zeros). The resulting value is multiplied by a constant (a safe prime number A), and the resulting upper 64 bits are added to the resulting lower 64 bits and stored as a new hash value. This hash value is then returned 408. Image comparison To detect duplicate or similar images, calculate the perceptual hash values for the two images. Let's take an example and its thumbnail.Original Image: 1100100101101001001111000001100000001000000000000000011100111111Vignette: 1100100101101001001111000001100000001000000000000000011100111111 As can be seen, the two hash values are identical. But that doesn't mean that similar images will always create equal hash values. If we manipulate the original image and add a watermark, we get these hash values:original image: 1100100101101001001111000001100000001000000000000000011100111111Watermark: 1100100101111001001111000001100000011000000010000000011100111111 As you can see, these hash values are very similar, but not equal. To compare these hash values, we count the number of different bits (the Hamming distance), which is 3 in this case. The greater this distance, the lower the risk of identical or similar images. The implementation of the average hash (aHash) is the easiest algorithm to implement and the fastest. Two other implementations are differential hashing (or dHash) and pHash. The differential hashing follows the same steps as the average hashing, but generates the fingerprint depending on whether the left pixel is brighter than the right pixel, instead of using a single average value. Compared to the average hash, the dHash algorithm generates fewer false positives. The pHash presents an implementation quite different from the others, and increases the precision with its complexity. The pHash resizes the image to a 32x32 image, calculates the Luma (brightness) value of each pixel, and applies a Discrete Cosine Transform (DCT) to the array. Next, you need the 8x8 pixels at the top left, which represent the lowest frequencies in the image, to calculate the resulting hash value by comparing each pixel to the median value. Due to the complexity of the pHash algorithm, this is also the slowest option. Header extraction Once the supplier has been identified with the above technique, the invoice header is deconstructed using smart data mining or header learning techniques. , as shown in figure 5. IDE (intelligent data extraction) Using positional biases, based on the research, we can assume the likely locations of specific fields, the invoice number at the top right of the first page, the invoice amount at the bottom to the right of the last page, etc. Due to validation bias, the invoice date cannot be a future date, it is also likely to be the date closest to the current date compared to other dates found. Similarity biases, once the supplier is known then string similarity is used to compare invoice number candidates to previous invoice numbers for that supplier, sequences are likely to be like INV0001, INV0002, INV0003 etc. This information is stored in the metadata section of the 605 Known Provider Database. First, determine the sequence of characters common to the previous invoice numbers (INV000), verify that the current candidate begins with this sequence. If no common character sequence can be found, use Levenshtein's distance algorithm (or similar depending on other tests and research) to compare the current candidate to previous invoice numbers. If the similarity algorithm is inconclusive, use pattern matching based on the character type sequence i.e. AAADDDD (it should only be used when the value is not an entire sequence of one type of character). Expected data bias, for the purchase order number in particular, we have access to all purchase order numbers, filtered by supplier and the status of a match with any of the available purchase orders assumes a perfect match. The current label extraction search used is based on a technology called KV extraction. KV extraction uses regular expressions (Regex) to find a label and then turns in a configured direction to find a value. In KV extraction, the first result is determined by the weight configured on each regex-based rule and each rule extracts only one result. In the IDE technique, all possible candidates are extracted, then the position, validation and similarity biases are applied to increase the confidence of each candidate, the candidate with the highest confidence at the end of this process is the value extracted. Header learning Figure 5 shows the header learning extraction technique 307. The extraction begins with a first take of the data set 501. Data is extracted502 by searching for labels such as "Invoice number:", "Invoice number:" (and many more) using a series of regex expressions. For each label found, look for the text to the right of and below the label for anything that could be an invoice number (essentially any alphanumeric string). For each candidate found, we then apply a series of “rules” which modify the candidate's confidence. For example, the probability of being at the top right, the probability of being 40% at the top of the page, the probability of having only uppercase characters, the probability of having more than 50% of characters numeric, low probability of having white space, low probability of having non-alphanumeric characters. If the supplier is known, check the probability that the invoice number is similar to the previous invoice numbers for this supplier, that is to say (INV0001, INV0002, INV0003). When you take the numeric value of the previous invoice numbers from this vendor (1, 2, 3), it is likely that the current invoice number will have a numeric value greater than the last invoice from this vendor. Once all the candidates have been analyzed, we then select the candidate with the highest confidence. This process is used to extract the invoice number 503, the purchase order number 504, the invoicing data 505, the amounts 506 and the other fields 507. After all the data has been extracted, the data is validated508 to see that the data makes sense. For example, verify that the date fields contain a date close to the current date and that the purchase order number matches an existing purchase order for the particular vendor. If there are any errors or warnings509, then store the extracted data and the number of problems in a variable510 and look for more data511 to analyze. If there is more data, restart the process with correction dataset 501. [0059] If there is no more data511, take the results with the smallest number of problems512, and set the flag "corrections needed" 513 before completing the extraction process515. [0060] If there are no errors or warnings509, prepare a row514 match, and complete fetch515. Job capture To capture each row of the invoice table section, find the location of a header row, the best candidate matches most of the column headers (item code, quantity, description , unit price, extended price) on a single line of text. Navigating through the PDF from the bottom of the header row and until the total / subtotal is found, analyze each line of text to identify key fields. If a column header is missing, we can identify the most likely value based on different criteria and a process of elimination; eg Quantity X Price = Total row will provide validation for the row. The context of the purchase order can be used to identify values based on the expected data. This is particularly relevant for the article code. Equipment The electrical components required to operate the functionality described here are purpose-defined devices which must have the necessary facilities to operate the above algorithms. Looking at Figure 6, we see a purpose-built multi-core server processor601 with large RAM (maybe 56 GB, in some embodiments) to quickly process OCR functionality and perform image processing operations. The server is electrically connected to a scanning device604, to a computer screen602 and to the Internet603. In addition, the processor 601 is electrically or optically connected to one or more mass storage devices containing a database of known vendors 605 and an ERP database 606. In some embodiments, the ERP606 database is linked to a different server and may be located remotely from the server 601. It should be understood that many elements discussed in this description can be implemented in one or more hardware circuits, a circuit executing software code or instructions which are encoded in computer readable media accessible to the circuits, or a combination of one or more hardware circuits and a circuit or control block of an integrated circuit executing machine readable code encoded in a computer readable medium. As such, the term circuit, module, server, application, or other equivalent description of an element as used in any description is, unless otherwise indicated, intended to encompass a hardware circuit (whether it is of discrete elements or of an integrated circuit block), a circuit or a control block executing an encoded code in a computer readable medium, or a combination of one or more hardware circuits and a circuit and / or a command block executing such a code. All of the ratio ranges and limits disclosed in the description and claims can be combined in any way. Unless otherwise specified, references to "a", "a" and / or "the" may include one or more elements, and such reference to an element in the singular may also include the element in the plural. Although the inventions have been presented and described in relation to a certain embodiment or embodiments, alterations and equivalent modifications will be apparent to those skilled in the art upon reading and understanding this description and the accompanying drawings. In particular with regard to the different functions performed by the elements described above (components, assemblies, devices, compositions, etc.), the terms (including a reference to a "means") used to describe such elements are intended to correspond, unless otherwise specified, to any element which performs the specified function of the described element (i.e. which is functionally equivalent), even if it is not structurally equivalent to the described structure which performs the function in the exemplary embodiment illustrated here or the embodiments of the inventions. Additionally, although a particular feature of the inventions may have been described above with respect to only one or more of the illustrated embodiments, this feature may be combined with one or more other features of the other embodiments, such as this may be desired and advantageous for any given or particular application.
权利要求:
Claims (18) [1] 1. Apparatus for identifying a supplier associated with an invoice, the apparatus comprising:a special purpose processor with a plurality of cores;a memory electrically connected to the special purpose processor;a mass storage device containing a database ofknown suppliers, the mass storage device being electrically connected to the special purpose processor;in which an image of the invoice stored in memory is dividedinto a plurality of regions by the special-purpose processor, and an image perceptual hash value is calculated by the special-purpose processor for each of the plurality of regions, and a Hamming distance is calculated between the perceptual hash value image of each of the plurality of regions and for each entry in the database of known suppliers for each of the plurality of regions, the supplier associated with a smaller Hamming distance being identified as the supplier associated with the invoice . [2] The apparatus of claim 1, wherein the image perceptual hash value is calculated with an averaging algorithm. [3] Apparatus according to claim 1, wherein the image perceptual hash value is calculated with a difference algorithm. [4] The apparatus of claim 1, wherein the image perceptual hash value is calculated with a pHash algorithm. [5] The apparatus of claim 1, wherein the bill is reduced to an eight-by-eight pixel grid before calculating the image perceptual hash value. [6] The apparatus of claim 1, wherein the bill is reduced to grayscale before calculating the image perceptual hash value. [7] 7. Apparatus according to claim 1, wherein the plurality of regions consists of three regions. [8] The apparatus of claim 1, wherein the smallest Hamming distance is compared to a threshold and the provider associated with the smallest Hamming distance is added to the database of known providers if the smallest Hamming distance is. greater than the threshold. [9] 9. Apparatus according to claim 8, wherein the supplier that is added is identified as the supplier associated with the invoice. [10] 10. A method for identifying a supplier associated with an invoice, the method comprising:the division of an image of the invoice stored in a memory into onea plurality of regions by a special-purpose processor with a plurality of cores, wherein the memory is electrically connected to the special-purpose processor;calculating an image perceptual hash value by the processor tospecial use for each of the plurality of regions;calculating a Hamming distance between the perceptual hash valueimage each of the plurality of regions and for each entry into a database of known providers for each of the plurality of regions; andidentification of the supplier associated with the smallest Hamming distanceas a supplier associated with the invoice;in which a mass storage device contains the databaseknown suppliers, the mass storage device being electrically connected to the special purpose processor. [11] The method of claim 10, wherein the image perceptual hash value is calculated with an averaging algorithm. [12] The method of claim 10, wherein the image perceptual hash value is calculated with a difference algorithm. [13] 13. The method of claim 10, wherein the image perceptual hash value is calculated with a pHash algorithm. [14] 14. The method of claim 10, further comprising reducing the bill to an eight-by-eight pixel grid before calculating the image perceptual hash value. [15] 15. The method of claim 10, further comprising reducing the bill to grayscale before calculating the image perceptual hash value. [16] 16. The method of claim 10, wherein the plurality of regions consists of three regions. [17] The method of claim 10, further comprising comparing the smallest Hamming distance to a threshold and adding the provider associated with the smallest Hamming distance to the database of known providers if the smallest distance. of Hamming is above the threshold. [18] 18. The method of claim 17, wherein the supplier that is added is identified as the supplier associated with the invoice.
类似技术:
公开号 | 公开日 | 专利标题 US10140511B2|2018-11-27|Building classification and extraction models based on electronic forms US9934433B2|2018-04-03|Global geographic information retrieval, validation, and normalization US7986843B2|2011-07-26|Digital image archiving and retrieval in a mobile device system US7587412B2|2009-09-08|Mixed media reality brokerage network and methods of use US20120027246A1|2012-02-02|Technique for collecting income-tax information US9824270B1|2017-11-21|Self-learning receipt optical character recognition engine RU2679209C2|2019-02-06|Processing of electronic documents for invoices recognition US9076140B2|2015-07-07|Image embedding apparatus and method US20160092730A1|2016-03-31|Content-based document image classification US10528626B2|2020-01-07|Document processing US10339373B1|2019-07-02|Optical character recognition utilizing hashed templates US10489671B2|2019-11-26|Location based optical character recognition | US10528808B2|2020-01-07|Automated document processing system AU2016427827B2|2019-11-14|Image quality assessment and improvement for performing optical character recognition KR102351947B1|2022-01-14|Automated Techniques for Image Verification CH716698A2|2021-04-15|Partial perceptual image hashing for invoice deconstruction. US11030450B2|2021-06-08|System and method for determining originality of computer-generated images US20130300562A1|2013-11-14|Generating delivery notification CN111126370A|2020-05-08|OCR recognition result-based longest common substring automatic error correction method and system US20210103750A1|2021-04-08|Processing irregularly arranged characters JP7025354B2|2022-02-24|Automation of image validation US10521878B1|2019-12-31|Machine-learning for enhanced machine reading of non-ideal capture conditions AU2013101569B4|2014-05-22|Document Processing
同族专利:
公开号 | 公开日 US20210110447A1|2021-04-15| GB2588251B|2021-10-13| GB2588251A|2021-04-21| GB201918199D0|2020-01-22|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US8195672B2|2009-01-14|2012-06-05|Xerox Corporation|Searching a repository of documents using a source image as a query| US20170083785A1|2014-05-16|2017-03-23|AppCard, Inc.|Method and system for improved optical character recognition| US10095920B2|2016-07-28|2018-10-09|Intuit Inc|Optical character recognition utilizing hashed templates|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US16/600,613|US20210110447A1|2019-10-14|2019-10-14|Partial Perceptual Image Hashing for Invoice Deconstruction| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|